﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using MyClever.Lib;

namespace MyCleverMissionEditor
{    
    /// <summary>
    /// Part of "Composite Design Pattern"
    /// The 'Component' Treenode
    /// </summary>
    public abstract class GuiTreeDrawingElement
    {   
        public abstract Size Size { get; }        
        
        public abstract void Add(GuiTreeDrawingElement drawingElement);
        public abstract void Clear();
        public abstract void Display(DoubleBufferedTabControl tabPage, Point position);
        public abstract bool IsMouseOver(Point mousePosition, bool withBorder);
        public abstract RelativePluginPosition GetPlaceholderByMouse(Point mousePosition, out Rectangle placeholder);
    }
}
